using Accona.Monitoring.Consumers;
using Accona.Monitoring.Exposure;
using Accona.Monitoring.Exposure.REST;
using Accona.Monitoring.Publishers;

namespace Accona.Monitoring
{
    public interface IMonitorConfiguration
    {
        IMonitorConfiguration WithConsumer<T>() where T : IConsumer, new();
        IMonitorConfiguration WithPublisher<T>() where T : IPublisher, new();
        IMonitorConfiguration WithExposure(IExposure exposure);
        Scheduler Schedule(int milliseconds);
    }
}